﻿<sap:ActivityDesigner  x:Class="MyData.Activities.Designers.OfficeXml.ContentPartDesigner"
    xmlns:s="clr-namespace:System;assembly=mscorlib"  
    xmlns:sio="clr-namespace:System.IO;assembly=mscorlib"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation"
    xmlns:sapc="clr-namespace:System.Activities.Presentation.Converters;assembly=System.Activities.Presentation" Collapsible="True">

    <sap:ActivityDesigner.Resources>
        <sapc:ArgumentToExpressionConverter 
                x:Key="ArgumentToExpressionConverter" />
        <DataTemplate x:Key="ShowAsCollapsed">
            <TextBlock Foreground="Gray">
                <TextBlock.Text>
                    <MultiBinding StringFormat=" {0}!{1} ">
                        <Binding Path="ModelItem.NamedRange.Expression" />
                        <Binding Path="ModelItem.Reference.Expression" />
                    </MultiBinding>
                </TextBlock.Text>
            </TextBlock>
        </DataTemplate>
        <DataTemplate x:Key="ShowAsExpanded">
            <Grid>

                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                   
                </Grid.RowDefinitions>

                <sapv:ExpressionTextBox MaxWidth="200" MinWidth="150"  HintText="Named Range" 
                Grid.Row ="0" Grid.Column="0"  Margin="2"
                OwnerActivity="{Binding Path=ModelItem}"
                Expression="{Binding Path=ModelItem.NamedRange, Mode=TwoWay, 
                Converter={StaticResource ArgumentToExpressionConverter}, 
                ConverterParameter=In }"
                ExpressionType="s:String" GotFocus="ExpressionTextBox_GotFocus"/>

                <sapv:ExpressionTextBox  Name="referenceETB" HintText="Reference" 
                Grid.Row ="2" Grid.Column="0" Grid.ColumnSpan="1" MaxWidth="200" MinWidth="150"  Margin="2"
                OwnerActivity="{Binding Path=ModelItem}"
                Expression="{Binding Path=ModelItem.Reference, Mode=TwoWay, 
                Converter={StaticResource ArgumentToExpressionConverter}, 
                ConverterParameter=In }"
                ExpressionType="{x:Type s:String}" GotFocus="ExpressionTextBox_GotFocus"/>
                             
            </Grid>
        </DataTemplate>

        <Style x:Key="StyleWithCollapse" TargetType="{x:Type ContentPresenter}">
            <Setter Property="ContentTemplate" 
                Value="{DynamicResource ShowAsExpanded}"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=ShowExpanded}" Value="False">
                    <Setter Property="ContentTemplate" 
                        Value="{DynamicResource ShowAsCollapsed }"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </sap:ActivityDesigner.Resources>

    <sap:ActivityDesigner.Icon>
        <DrawingBrush>
            <DrawingBrush.Drawing>
                <ImageDrawing>
                    <ImageDrawing.Rect>
                        <Rect Location="0,0" Size="16,16" ></Rect>
                    </ImageDrawing.Rect>
                    <ImageDrawing.ImageSource>
                        <BitmapImage UriSource="Cell.png" />
                    </ImageDrawing.ImageSource>
                </ImageDrawing>
            </DrawingBrush.Drawing>
        </DrawingBrush>
    </sap:ActivityDesigner.Icon>

    <Grid>
        <ContentPresenter Style="{DynamicResource StyleWithCollapse}" 
            Content="{Binding}" />
    </Grid>
</sap:ActivityDesigner>
